/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.openide.src.nodes; import org.openide.nodes.Node; import org.openide.src.*; /** A factory used to create * instances of hierarchy node implementations. * Loaders that use the element hierarchy * should implement this factory * so as to provide their own implementations of hierarchy element nodes. * @see ClassChildren * @see SourceChildren * * @author Petr Hrebejk */ public class FilterFactory implements ElementNodeFactory { private ElementNodeFactory delegate; public final void attachTo( ElementNodeFactory factory ) { delegate = factory; } /** Make a node representing a constructor. * @param element the constructor * @return a constructor node instance */ public Node createConstructorNode (ConstructorElement element) { return delegate.createConstructorNode( element ); } /** Make a node representing a method. * @param element the method * @return a method node instance */ public Node createMethodNode (MethodElement element) { return delegate.createMethodNode( element ); } /** Make a node representing a field. * @param element the field * @return a field node instance */ public Node createFieldNode (FieldElement element) { return delegate.createFieldNode( element ); } /** Make a node representing an initializer. * @param element the initializer * @return an initializer node instance */ public Node createInitializerNode (InitializerElement element) { return delegate.createInitializerNode( element ); } /** Make a node representing a class. * @param element the class * @return a class node instance */ public Node createClassNode (ClassElement element) { return delegate.createClassNode( element ); } /** Make a node indicating that the creation of children * is still under way. * It should be used when the process is slow. * @return a wait node */ public Node createWaitNode () { return delegate.createWaitNode( ); } /** Make a node indicating that there was an error creating * the element children. * @return the error node */ public Node createErrorNode () { return delegate.createErrorNode( ); } } /* * Log * 2 Gandalf 1.1 10/22/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 1 Gandalf 1.0 6/29/99 Petr Hrebejk * $ */